草庐IT

sql - Sum on a left join SQL

全部标签

sql - 获取 Hive 中所有列的 NULL 百分比

我想获取Hive表中NULL值的百分比。有没有一种简单的方法可以做到这一点而不必枚举查询中的所有列名?在这种情况下,大约有50k行和20列。提前致谢!类似于:SELECTcount(each_column)/count(*)FROMTABLE_1WHEREeach_column=NULL; 最佳答案 如果您使用代码执行此操作,则需要列出列。这是一种方法:selectavg(casewhencol1isnullthen1.0else0.0end)ascol1_null_p,avg(casewhencol2isnullthen1.0el

sql - 使用描述创建 Hive 表

Hive建表时应该在什么地方添加表描述?Tablename:"Orders"TableDescription:"OrdersfromVendorABC." 最佳答案 您应该在命令中使用[COMMENTtable_comment]关键字。例子:CREATETABLEIFNOTEXISTSorders(idString,nameString)COMMENT'OrdersfromVendorABC.'ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'LINESTERMINATEDBY'\n'STOREDAST

sql - Hive 查询中的临时加入(时间上非常接近的事件)

我需要一个我很难搞清楚的配置单元查询。我有一个看起来像这样的时间序列:timesourceword1word2...etc2012-02-0123:43:16.998824300012B3BFAF02012-02-0123:43:16.999356100022326ABAA2012-02-0123:43:16.999887900022327ABAA我需要一个查询,如果一个源中的记录满足特定条件,除了该记录之外,它还应该及时返回一个或多个记录来自第二个source满足一组不同的条件。到目前为止,我的尝试是这样的:SELECTtimeFROMmessagesCJOINmessagesDon

hadoop - apache calcite 和 teradata 中的 SQL 查询

需要有关apache方解石的建议。我们在Teradata上运行了一些SQL查询。现在我们想在Hadoop/Spark上运行这些sql查询(可能使用Apache方解石)。我们在SparkSQL(2.6.3)和Apachecalcite中尝试了这些SQL查询(原样)——但很少有查询无法运行。问题是,如果我们定义一个派生变量(AS)并尝试在同一级别的同一查询中使用它,它在SparkSQL和calcite中不起作用,但在Teradata中起作用。示例查询:selectEMPNO,sum(deptno)assum_dept,casewhensum_dept>10then1else0endastm

常见SQL注入手法总结与技巧(一)

常见sql注入手法总结与技巧(一)前言SQL是StructuredQueryLanguage的缩写,中文译为“结构化查询语言”。SQL是一种计算机语言,用来存储、检索和修改关系型数据库中存储的数据。sql注入是最为常见也是破坏力很大的漏洞,它是因为开发在开发时没有对用户的输入行为进行判断和过滤,使得用户输入了恶意语句后传给了后端数据库进行相应的动作(如增删改查甚至写后门)。**根本产生原因:**后端服务器接收传来的参数未经过严格过滤判断而直接进入数据库查询所以在学习SQL注入前需要了解SQL基础语法SQL注入根源分析如果后台sql语句为:$sql="SELECT*FROMusersWHEREi

hadoop - 如何在将配置单元作业提交到数据处理集群时执行 gcp 存储桶中的配置单元查询列表(在我的例子中是 gs :/hive/hive. sql")

这里我在hiveJob下的queryList中编写查询。将Hive作业提交到dataproc集群defsubmit_hive_job(dataproc,project,region,cluster_name):job_details={'projectId':project,'job':{'placement':{'clusterName':cluster_name},"hiveJob":{"queryList":{###howcaniexecute.sqlfileherewhichisinbucket####"queries":["CREATETABLEIFNOTEXISTSsai(

sql - sqoop如何在向hive导入数据时自动修剪db2中的一些char类型的列?

我有一个很大的db2表,其中包含许多char类型的列。我尝试通过sqoop将数据提取到hive中以满足不同的需求。以前写Hivesql的时候都是手动把char类型的colums全部剪掉但是,有太多的列需要修剪,以至于我总是忘记其中的一些,这可能会导致一些困惑的问题,如下所示:假设BANK_TABLE是hive的目标表,2323423232323是表中已经存在的卡号。如果我执行:hive-e"select*fromBANK_TABLEwherecard_no='2323423232323'"结果是什么都没有,因为我在写sql导入数据到hive的时候忘记修剪了column:card_no所

sql - Hive SQL 编码风格 : intermediate tables?

我应该在配置单元中创建和删除中间表吗?我可以写类似的东西(大大简化):droptableifexiststmp1;createtabletmp1asselecta,b,cfrominput1wherea>1andb或者我可以将所有内容汇总到一个语句中:droptableifexistsoutput;createtableoutputasselectx,a,count(*)ascountfrom(selecta,b,cfrominput1wherea>1andb显然,如果我多次重复使用中间表,那么创建它们就很有意义了。但是,当它们只使用一次时,我有一个选择。两个我都试过了,第二个是6%快

sql - 来自另一个表的动态正则表达式搜索字符串

我有两个表:项目CREATETABLEitems(IDint,TXTstring,CODEstring);INSERTINTOitemsVALUES(1,'AABBCC','ZZ-100');INSERTINTOitemsVALUES(2,'BBCCDD','ZZ-200');INSERTINTOitemsVALUES(3,'AACCEE','ZZ-300');INSERTINTOitemsVALUES(4,'EEFFGG','ZZ-400');INSERTINTOitemsVALUES(5,'CCHHII','ZZ-500');+----+----------+--------+|i

hadoop - 使用 Impala 访问 Hbase 表时,所有 SQL 操作是否都有效?

HBase不允许对其表进行连接操作。为了克服这个问题,我计划创建HBase表并通过Impala访问它。Impala允许所有连接以及分组依据和其他SQL操作。我对此几乎没有疑问-有人测试过这种方法吗?所有可用的SQL操作是否同样有效impala与Hive一起工作?我试图在cloudera的文档中找到答案,但没有明确的答案。 最佳答案 “明确答案”一词取决于您要查找的参数...Q1:Hasanyonetestedthisapproach?是的,Impala的这种方法-hbase外部表是可行的,因为我们已经为即席查询做了同样的事情。然而,